<!DOCTYPE html><html><head><meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="" /><meta name="author" content="Maxim Sokhatsky" />
<title>KVS</title>
<link rel="stylesheet" href="https://n2o.dev/blank.css" />
<link rel="stylesheet" href="https://n2o.dev/zima.css" />
</head><body><nav>
    <a href="https://n2o.dev">DEV</a>
    <a href="https://kvs.n2o.dev" style="background:#ededed;">KVS</a>
  <div class="dropdown">
    <a onclick="drop()" class="dropbtn">EN</a>
    <div id="dropdown" class="dropdown-content">
      <a href="https://n2o.dev/deps/kvs/man/ua/index.html">UA</a>
      <a href="#">EN</a>
    </div>
  </div>
</nav><header>
    <a href="https://github.com/synrc/kvs"><img src="https://openmoji.org/data/color/svg/1F4BF.svg"/></a>
    <h1>KVS</h1>
</header><aside>
    <article>
        <section>
            <h3>SYNOPSIS</h3>
            <div>KVS is the light version of client interface on top of BTREE database
                 abstractions strive to support the basic features: </div>
            <div>
                 <ul><li>Polymorphic tuples aka extensible records;</li>
                     <li>Basic schema for chain storage;</li>
                     <li>Backends: MNESIA, FS, ROCKSDB, SPANDB;</li>
                     <li>Extremely compact and battle-tested: 500 LOC.</li></ul>
            </div>
            <div>This is an essence and fruit of KVS; the abstract term interface
                 with naive yet productive stream implementation. Useful for simple
                 blockchains, messaging, storage, processing systems, and banking industry.
                 KVS is used in BPE and BANK applications.</div><br/>
        <figure>
        <code> $ mad get kvs &#38;&#38; cd kvs
 $ mad com pla rep
 > kvs:join().</code>
        </figure>
        </section>
        <section>
            <h3>MODULES</h3>
            <div><ul><li><a href="man/kvs.htm">KVS</a></li>
                     <li><a href="man/kvs_stream.htm">STREAM</a></li>
                     <li><a href="man/kvs_fs.htm">FS</a></li>
                     <li><a href="man/kvs_mnesia.htm">MNESIA</a></li>
                     <li><a href="man/kvs_rocks.htm">ROCKS</a></li>
                     <li><a href="man/kvs_st.htm">ST</a></li></ul></div>
            <br />
            <div>
                NOV 2021 © <a href="https://github.com/5HT">5HT</a> ISC<br />
                VER 8.10 8.4 8.3
            </div>
        </section>
        <section>
        </section>
    </article>
</aside><main>
    <section>

<h3>SESSION</h3>

<figure><code>
 > kvs:join().
 ok

 > kvs:check().
 ok

 > kvs:all(reader).
 [{reader,1555175169121817000,0,[],[],
          {list,1555175169120161000},
          0},
  {reader,1555175169121249000,0,[],[],
          {list,1555175169120161000},
          0}]

 > rr(kvs).
 [emails,id_seq,iter,kvs,reader,schema,table,writer]

 > kvs:save(kvs:reader({list,1555175169120161000})).
 #reader{id = 1555175244188986000,pos = 0,
         cache = {emails,1555175169122304000},
         args = [],
         feed = {list,1555175169120161000},
         dir = 0}

 > kvs:take(kvs:bot((kvs:load_reader(1555175244188986000))#reader{args=-1})).
 #reader{id = 1555175244188986000,pos = 5,
         cache = {emails,1555175169127279000},
         args = [#emails{id = 1555175169127279000,next = [],
                         prev = 1555175169126314000,email = []},
                 #emails{id = 1555175169126314000,next = 1555175169127279000,
                         prev = 1555175169125227000,email = []},
                 #emails{id = 1555175169125227000,next = 1555175169126314000,
                         prev = 1555175169123405000,email = []},
                 #emails{id = 1555175169123405000,next = 1555175169125227000,
                         prev = 1555175169122304000,email = []},
                 #emails{id = 1555175169122304000,next = 1555175169123405000,
                         prev = [],email = []}],
         feed = {list,1555175169120161000},
         dir = 0}

</code></figure>
    </section>

    <section>
        <a name="plugin"></a><h3>CONTRIBUTORS</h3>
        <div>
        <ul><li><a href="https://github.com/5HT">5HT</a> — Namdak Tonpa</li><li><a href="https://github.com/proger">proger</a> — Vlad Ki</li><li><a href="https://github.com/doxtop">doxtop</a> — Andrii Zadorozhnii</li><li><a href="https://github.com/cryoflamer">cryoflamer</a> — Yuri Maslovsky</li><li><a href="https://github.com/qomputer">qomputer</a> — Igor Kharin</li></ul></div>
        <br /><br />
    </section>
</main><footer>
    Made with <span class="heart">❤</span> to N2O
</footer>
<script>function drop(){document.getElementById("dropdown").classList.toggle("show");}</script>
</body></html>
